function debounce (fn, delay) {
  let timer
  return function () {
    clearTimeout(timer)
    timer = setTimeout(() => {
      fn.apply(this, arguments)
    }, delay)
  }
}
function autoScale (el, options) {
  // const el = document.querySelector(selector)
  const { width, height } = options

  const innerWidth = document.documentElement.clientWidth || document.body.clientWidth;
  const innerHeight = document.documentElement.clientHeight || document.body.clientHeight;
  el.style.transformOrigin = 'top left'
  el.style.transition = 'transform 0.5s'
  function init () {
    const scaleX = innerWidth / width
    const scaleY = innerHeight / height

    const scale = Math.min(scaleX, scaleY)
    const left = (innerWidth - width * scale) / 2
    const top = (innerHeight - height * scale) / 2

    el.style.transform = `translate(${left}px, ${top}px) scale(${scale})`
  }
  init()
  window.onresize = debounce(init, 100)
}
